<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NMSettingIP4Config: libnm Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="libnm Reference Manual">
<link rel="up" href="ch03.html" title="Connection and Setting API Reference">
<link rel="prev" href="NMSettingInfiniband.html" title="NMSettingInfiniband">
<link rel="next" href="NMSettingIP6Config.html" title="NMSettingIP6Config">
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#NMSettingIP4Config.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#NMSettingIP4Config.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#NMSettingIP4Config.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="NMSettingInfiniband.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="NMSettingIP6Config.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="NMSettingIP4Config"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="NMSettingIP4Config.top_of_page"></a>NMSettingIP4Config</span></h2>
<p>NMSettingIP4Config — Describes IPv4 addressing, routing, and name service properties</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="NMSettingIP4Config.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="NMSetting.html" title="NMSetting"><span class="returnvalue">NMSetting</span></a> *
</td>
<td class="function_name">
<a class="link" href="NMSettingIP4Config.html#nm-setting-ip4-config-new" title="nm_setting_ip4_config_new ()">nm_setting_ip4_config_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="NMSettingIP4Config.html#nm-setting-ip4-config-get-dhcp-client-id" title="nm_setting_ip4_config_get_dhcp_client_id ()">nm_setting_ip4_config_get_dhcp_client_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="NMSettingIP4Config.html#nm-setting-ip4-config-get-dhcp-fqdn" title="nm_setting_ip4_config_get_dhcp_fqdn ()">nm_setting_ip4_config_get_dhcp_fqdn</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="NMSettingIP4Config.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="NMSettingIP4Config.html#NMSettingIP4Config--dhcp-client-id" title="The “dhcp-client-id” property">dhcp-client-id</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="NMSettingIP4Config.html#NMSettingIP4Config--dhcp-fqdn" title="The “dhcp-fqdn” property">dhcp-fqdn</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="NMSettingIP4Config.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-SETTING-NAME:CAPS" title="NM_SETTING_IP4_CONFIG_SETTING_NAME">NM_SETTING_IP4_CONFIG_SETTING_NAME</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-DHCP-CLIENT-ID:CAPS" title="NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID">NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-DHCP-FQDN:CAPS" title="NM_SETTING_IP4_CONFIG_DHCP_FQDN">NM_SETTING_IP4_CONFIG_DHCP_FQDN</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD-AUTO:CAPS" title="NM_SETTING_IP4_CONFIG_METHOD_AUTO">NM_SETTING_IP4_CONFIG_METHOD_AUTO</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD-LINK-LOCAL:CAPS" title="NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL">NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD-MANUAL:CAPS" title="NM_SETTING_IP4_CONFIG_METHOD_MANUAL">NM_SETTING_IP4_CONFIG_METHOD_MANUAL</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD-SHARED:CAPS" title="NM_SETTING_IP4_CONFIG_METHOD_SHARED">NM_SETTING_IP4_CONFIG_METHOD_SHARED</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD-DISABLED:CAPS" title="NM_SETTING_IP4_CONFIG_METHOD_DISABLED">NM_SETTING_IP4_CONFIG_METHOD_DISABLED</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="NMSettingIP4Config.html#NMSettingIP4Config-struct" title="NMSettingIP4Config">NMSettingIP4Config</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="NMSettingIP4Config.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
    <span class="lineart">╰──</span> <a class="link" href="NMSetting.html" title="NMSetting">NMSetting</a>
        <span class="lineart">╰──</span> <a class="link" href="NMSettingIPConfig.html" title="NMSettingIPConfig">NMSettingIPConfig</a>
            <span class="lineart">╰──</span> NMSettingIP4Config
</pre>
</div>
<div class="refsect1">
<a name="NMSettingIP4Config.description"></a><h2>Description</h2>
<p>The <a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a> object is a <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></a> subclass that describes
properties related to IPv4 addressing, routing, and Domain Name Service.</p>
<p><a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a> has few properties or methods of its own; it inherits
almost everything from <a class="link" href="NMSettingIPConfig.html" title="NMSettingIPConfig"><span class="type">NMSettingIPConfig</span></a>.</p>
<p>NetworkManager supports 5 values for the <a class="link" href="NMSettingIPConfig.html#NMSettingIPConfig--method" title="The “method” property"><span class="type">“method”</span></a> property
for IPv4.  If "auto" is specified then the appropriate automatic method
(DHCP, PPP, etc) is used for the interface and most other properties can be
left unset.  If "link-local" is specified, then a link-local address in the
169.254/16 range will be assigned to the interface.  If "manual" is
specified, static IP addressing is used and at least one IP address must be
given in the "addresses" property.  If "shared" is specified (indicating that
this connection will provide network access to other computers) then the
interface is assigned an address in the 10.42.x.1/24 range and a DHCP and
forwarding DNS server are started, and the interface is NAT-ed to the current
default network connection.  "disabled" means IPv4 will not be used on this
connection.</p>
</div>
<div class="refsect1">
<a name="NMSettingIP4Config.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="nm-setting-ip4-config-new"></a><h3>nm_setting_ip4_config_new ()</h3>
<pre class="programlisting"><a class="link" href="NMSetting.html" title="NMSetting"><span class="returnvalue">NMSetting</span></a> *
nm_setting_ip4_config_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates a new <a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a> object with default values.</p>
<div class="refsect3">
<a name="nm-setting-ip4-config-new.returns"></a><h4>Returns</h4>
<p>the new empty <a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a> object. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="nm-setting-ip4-config-get-dhcp-client-id"></a><h3>nm_setting_ip4_config_get_dhcp_client_id ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
nm_setting_ip4_config_get_dhcp_client_id
                               (<em class="parameter"><code><a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a> *setting</code></em>);</pre>
<p>Returns the value contained in the <a class="link" href="NMSettingIP4Config.html#NMSettingIP4Config--dhcp-client-id" title="The “dhcp-client-id” property"><span class="type">“dhcp-client-id”</span></a>
property.</p>
<div class="refsect3">
<a name="nm-setting-ip4-config-get-dhcp-client-id.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>setting</p></td>
<td class="parameter_description"><p>the <a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="nm-setting-ip4-config-get-dhcp-client-id.returns"></a><h4>Returns</h4>
<p> the configured Client ID to send to the DHCP server when requesting
addresses via DHCP.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="nm-setting-ip4-config-get-dhcp-fqdn"></a><h3>nm_setting_ip4_config_get_dhcp_fqdn ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
nm_setting_ip4_config_get_dhcp_fqdn (<em class="parameter"><code><a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a> *setting</code></em>);</pre>
<p>Returns the value contained in the <a class="link" href="NMSettingIP4Config.html#NMSettingIP4Config--dhcp-fqdn" title="The “dhcp-fqdn” property"><span class="type">“dhcp-fqdn”</span></a>
property.</p>
<div class="refsect3">
<a name="nm-setting-ip4-config-get-dhcp-fqdn.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>setting</p></td>
<td class="parameter_description"><p>the <a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="nm-setting-ip4-config-get-dhcp-fqdn.returns"></a><h4>Returns</h4>
<p> the configured FQDN to send to the DHCP server</p>
</div>
<p class="since">Since: 1.2</p>
</div>
</div>
<div class="refsect1">
<a name="NMSettingIP4Config.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-SETTING-NAME:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_SETTING_NAME</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_SETTING_NAME "ipv4"
</pre>
</div>
<hr>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-DHCP-CLIENT-ID:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID     "dhcp-client-id"
</pre>
</div>
<hr>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-DHCP-FQDN:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_DHCP_FQDN</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_DHCP_FQDN          "dhcp-fqdn"
</pre>
</div>
<hr>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-METHOD-AUTO:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_METHOD_AUTO</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_METHOD_AUTO       "auto"
</pre>
<p>IPv4 configuration should be automatically determined via a method appropriate
for the hardware interface, ie DHCP or PPP or some other device-specific
manner.</p>
</div>
<hr>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-METHOD-LINK-LOCAL:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL "link-local"
</pre>
<p>IPv4 configuration should be automatically configured for link-local-only
operation.</p>
</div>
<hr>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-METHOD-MANUAL:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_METHOD_MANUAL</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_METHOD_MANUAL     "manual"
</pre>
<p>All necessary IPv4 configuration (addresses, prefix, DNS, etc) is specified
in the setting's properties.</p>
</div>
<hr>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-METHOD-SHARED:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_METHOD_SHARED</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_METHOD_SHARED     "shared"
</pre>
<p>This connection specifies configuration that allows other computers to
connect through it to the default network (usually the Internet).  The
connection's interface will be assigned a private address, and a DHCP server,
caching DNS server, and Network Address Translation (NAT) functionality will
be started on this connection's interface to allow other devices to connect
through that interface to the default network.</p>
</div>
<hr>
<div class="refsect2">
<a name="NM-SETTING-IP4-CONFIG-METHOD-DISABLED:CAPS"></a><h3>NM_SETTING_IP4_CONFIG_METHOD_DISABLED</h3>
<pre class="programlisting">#define NM_SETTING_IP4_CONFIG_METHOD_DISABLED   "disabled"
</pre>
<p>This connection does not use or require IPv4 address and it should be disabled.</p>
</div>
<hr>
<div class="refsect2">
<a name="NMSettingIP4Config-struct"></a><h3>NMSettingIP4Config</h3>
<pre class="programlisting">typedef struct _NMSettingIP4Config NMSettingIP4Config;</pre>
<p>IPv4 Settings</p>
</div>
</div>
<div class="refsect1">
<a name="NMSettingIP4Config.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="NMSettingIP4Config--dhcp-client-id"></a><h3>The <code class="literal">“dhcp-client-id”</code> property</h3>
<pre class="programlisting">  “dhcp-client-id”           <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>A string sent to the DHCP server to identify the local machine which the
DHCP server may use to customize the DHCP lease and options.
When the property is a hex string ('aa:bb:cc') it is interpreted as a
binary client ID, in which case the first byte is assumed to be the
'type' field as per RFC 2132 section 9.14 and the remaining bytes may be
an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet
ARP type and the rest is a MAC address).
If the property is not a hex string it is considered as a
non-hardware-address client ID and the 'type' field is set to 0.</p>
<p>The special values "mac" and "perm-mac" are supported, which use the
current or permanent MAC address of the device to generate a client identifier
with type ethernet (01). Currently, these options only work for ethernet
type of links.</p>
<p>The special value "duid" generates a RFC4361-compliant client identifier based
on a hash of the interface name as IAID and /etc/machine-id.</p>
<p>The special value "stable" is supported to generate a type 0 client identifier based
on the stable-id (see connection.stable-id) and a per-host key. If you set the
stable-id, you may want to include the "${DEVICE}" or "${MAC}" specifier to get a
per-device key.</p>
<p>If unset, a globally configured default is used. If still unset, the default
depends on the DHCP plugin.</p>
<p>Flags: Read / Write</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="NMSettingIP4Config--dhcp-fqdn"></a><h3>The <code class="literal">“dhcp-fqdn”</code> property</h3>
<pre class="programlisting">  “dhcp-fqdn”                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>If the <a class="link" href="NMSettingIPConfig.html#NMSettingIPConfig--dhcp-send-hostname" title="The “dhcp-send-hostname” property"><span class="type">“dhcp-send-hostname”</span></a> property is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the
specified FQDN will be sent to the DHCP server when acquiring a lease. This
property and <a class="link" href="NMSettingIPConfig.html#NMSettingIPConfig--dhcp-hostname" title="The “dhcp-hostname” property"><span class="type">“dhcp-hostname”</span></a> are mutually exclusive and
cannot be set at the same time.</p>
<p>Flags: Read / Write</p>
<p>Default value: NULL</p>
<p class="since">Since: 1.2</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.29</div>
</body>
</html>